package com.syt.cellphone.information.help

import android.annotation.SuppressLint
import android.content.Context
import com.syt.cellphone.information.App
import com.syt.cellphone.information.R
import com.syt.cellphone.information.constant.PreferKey
import com.syt.cellphone.information.utils.*

/**
 *  @author: syt
 *  创建时间: 2020/8/11 10:30
 *  @功能   app配置
 *  @version v1.0
 */
object AppConfig {

    /**
     * 黑夜 2
     * 白天 1
     * 墨水屏 3
     * 其它 根据系统
     */
    fun isNightTheme(context: Context): Boolean {
        return when (context.getPrefString(PreferKey.themeMode, "0")) {
            "1" -> false
            "2" -> true
            "3" -> false
            else -> context.sysIsDarkMode()
        }
    }

    // 黑夜主题
    var isNightTheme: Boolean
        get() = isNightTheme(App.INSTANCE)
        set(value) {
            if (value) {
                App.INSTANCE.putPrefString(PreferKey.themeMode, "2")
            } else {
                App.INSTANCE.putPrefString(PreferKey.themeMode, "1")
            }
        }

    // 墨水屏
    val isEInkMode: Boolean
        get() = App.INSTANCE.getPrefString(PreferKey.themeMode) == "3"

    // 是否沉浸式状态栏
    var isTransparentStatusBar: Boolean
        get() = App.INSTANCE.getPrefBoolean(PreferKey.transparentStatusBar)
        set(value) = App.INSTANCE.putPrefBoolean(PreferKey.transparentStatusBar, value)

    // 状态栏高度
    var elevation: Int
        @SuppressLint("PrivateResource")
        get() = App.INSTANCE.getPrefInt(
            PreferKey.barElevation,
            App.INSTANCE.resources.getDimension(R.dimen.design_appbar_elevation).toInt()
        )
        set(value) {
            App.INSTANCE.putPrefInt(PreferKey.barElevation, value)
        }
}